package org.graduation.recruitment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.graduation.recruitment.entity.pojo.ResumeAndJob;
import org.graduation.recruitment.entity.vo.CheckResumeVO;
import org.graduation.recruitment.entity.vo.ResumeVO;

import java.util.List;

/**
 * 提供简历投递、审核相关服务的接口。
 */
public interface ResumeAndJobService extends IService<ResumeAndJob> {

    /**
     * 投递简历
     *
     * @param resumeAndJob 包含简历和岗位信息的对象
     * @return 返回是否成功投递简历的布尔值
     */
    boolean submitResume(ResumeAndJob resumeAndJob);

    /**
     * 简历通过审核
     *
     * @param resumeAndJob 包含简历和岗位信息的对象
     * @return 返回是否成功通过审核的布尔值
     */
    boolean pass(ResumeAndJob resumeAndJob);

    /**
     * 简历未通过审核
     *
     * @param resumeAndJob 包含简历和岗位信息的对象
     * @return 返回是否成功标记为未通过的布尔值
     */
    boolean notPass(ResumeAndJob resumeAndJob);

    /**
     * 通过岗位id获取未查看的简历
     *
     * @param jobId 岗位的id
     * @return 返回未查看的简历列表
     */
    List<ResumeVO> getResumeByJobId(Long jobId);

    /**
     * 企业用户获取自己发布的所有岗位的简历信息
     *
     * @param enterpriseId 企业的id
     * @return 返回包含企业发布的所有岗位的简历信息的对象
     */
    CheckResumeVO getCheckResumeVO(Long enterpriseId);

}
